/*=============================================================================
*
*   Copyright (C) 2020 All rights reserved.
*
*   Filename:		shape_info_extractor.hpp
*
*   Author: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Date: 2020-03-04 01:28
*
*   Last Editors: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Last modified:	2020-08-04 01:23
*
*   Description:
*
=============================================================================*/
#ifndef EXTRACTOR_H
#define EXTRACTOR_H

#include "../../geometry/shape/shape_interface.hpp"

namespace geoxfem {
namespace model {

/*extract dof list on shape{{{*/

template <typename CouplePolicy>
struct dof_extractor {
  template <typename DimensionType, typename Degree>
  static std::vector<Dof>
  apply(const geometry::ShapeInterface<DimensionType, Degree>&) {
    GEOXFEM_NOT_IMPLEMENTED();
  }
};
/*}}}*/

/*extract dof info list on shape {{{ */
template <typename CouplePolicy>
struct ans_extractor {
  template <typename DimensionType, typename Degree>
  static VectorXR
  apply(const geometry::ShapeInterface<DimensionType, Degree>& shp) {
    GEOXFEM_NOT_IMPLEMENTED();
  }
};
/*}}}*/

}  // namespace model
}  // namespace geoxfem
#endif /* EXTRACTOR_H */
